//接口是对象的状态(属性)和行为(方法)的抽象(描述)
//接口是一种规范，一种能力，一种行为
(() => {

    // id是number类型, 必须有, 只读的
    // name是string类型, 必须有
    // age是number类型, 必须有
    // sex是string类型, 可以没有

    //定义接口
    interface Iperson {
        //readonl表示只读
        readonly id: number,
        name: string,
        age: number,
        //？表示可选
        sex?: string
    }

    const person: Iperson = {
        id: 1,
        name: 'adc',
        age: 18,
    }
    // person.id = 2
    person.sex = '男'
    console.log(person)

})()